#include <iostream>
#include <vector>
#include <string>



// vector 容器的构造函数
/*
-- vector<T> v;                		      //采用模板实现类实现，默认构造函数
-- vector(v.begin(), v.end());          //将v[begin(), end())区间中的元素拷贝给本身。
-- vector(n, elem);                     //构造函数将n个elem拷贝给本身。
-- vector(const vector &vec);           //拷贝构造函数。
 */

void printVector(std::vector<int> &v)
{
  for (auto it:v) {
    std::cout << it << " ";
  }
  std::cout << std::endl;
}

void test01() {
  std::vector<int> v1;
  v1.reserve(10);
  for (int i = 0; i < 10; i++) {
    v1.push_back(i);
  }
  printVector(v1);

  // 通过区间方式进行构造
  std::vector<int> v2(v1.begin(), v1.end());
  printVector(v2);

  // 通过 n 个 elem 方式构造
  std::vector<int>v3(10, 100);
  printVector(v3);

  // 拷贝构造
  std::vector<int> v4(v3);
  printVector(v4);
}


int main()
{
  test01();
  return 0;
}